Many of the tooltip functions can be called before a tooltip
object is created, and thus initializing the quark in class_init
is not good enough.
static void gtk_tooltip_set_last_window (GtkTooltip *tooltip,
GdkWindow *window);
-static GQuark quark_current_tooltip;
+static inline GQuark tooltip_quark (void)
+{
+ static GQuark quark;
+
+ if G_UNLIKELY (quark == 0)
+ quark = g_quark_from_static_string ("gdk-display-current-tooltip");
+ return quark;
+}
+
+#define quark_current_tooltip tooltip_quark()
G_DEFINE_TYPE (GtkTooltip, gtk_tooltip, G_TYPE_OBJECT);
object_class = G_OBJECT_CLASS (klass);
object_class->dispose = gtk_tooltip_dispose;
-
- quark_current_tooltip = g_quark_from_static_string ("gdk-display-current-tooltip");
}
static void